Digital networks and network communications (wired and/or wireless) are increasingly being used as distributed computing and communication become more ubiquitous. In most communication networks data routing is a major element of the network performance. Routing algorithms determine the specific choice of route for each frame of data.
For example, in packet switching networks, routing algorithms control the transmission of logically addressed packets from their source toward their ultimate destination through intermediate network nodes.
To determine the network topology and potential routing paths, a routing protocol is required. A routing protocol specifies how routers and layer three switches coordinate to select the data routes between any two nodes in a digital network. A routing protocol shares network connectivity and path metrics first among immediate neighbors, and then throughout the network to distribute knowledge of the topology of the network. The routing protocol uses this knowledge of the path metrics and connectivity to select the best paths for data flowing in the network.
A network link is the physical and logical network component used to interconnect hosts or nodes in the digital network. A link protocol is a set of processes and standards that operate between adjacent network nodes of a local area network segment or a wide area network connection.
There are many ways to measure the performance of a link that is part of a digital network. Complicating that measurement, often resources and network access may be administratively or physically limited for such measurements and characterizations. For example, the underlying intermediate networks may not provide access to management data or make use of proprietary data types. A direct (conventional) measurement of network performance requires either tapping into the metrics of a directly connected network interface, and/or sending specially-crafted probe traffic, which adds significantly to network load and modifies the measurement it seeks to make.
Current solutions for this characterization typically require either tapping into the metrics of a directly connected network interface, and/or the generating and measuring of test data streams. These current solutions also require time synchronization between network elements to measure asymmetric latency and jitter. The current solutions lack the dynamics required to provide proper characterization of changing network conditions, or may introduce additional overhead data which further wastes network resources and thus influences the very measurements being made. Additionally, these dynamic measurements are generally a costly solution.
Existing network characterization techniques are not sufficient to support routing protocols for Network of Networks (NoN), and mobile ad-hoc network (MANET) applications. In NoNs the issue is that the routing devices only have knowledge of their local links to the edges of the autonomous systems to which they are interconnecting, which are generally much different than the actual underlying networks over which the data will flow. For the purposes of this disclosure, a network link is any path between two managed endpoints. This may be a direct link, or contain an entire intermediate network. For MANETs, network conditions change frequently due to environmental conditions and node mobility, and a way to continuously characterize link performance for input to the routing algorithms is required to provide efficient link utilization.
Moreover, proprietary multi-metric routing protocols such as Cisco EIGRP™ use locally configured and calculated metrics when the network forms based on statistics read directly from the local network interfaces. However, by looking only when the network forms, nothing is learned from the actual network during operation.